草庐IT

xml - Xpath 表达式

全部标签

javascript - 如何制作仅捕获一个符号但有限制的正则表达式?

我需要一个javascript的正则表达式,它允许我选择一个有限制的字符:除了它自己之外没有指定的字符。我需要选择字符/但前提是它旁边没有字符a。例如:str="ILikethis/anda/basketballisrounda/aups.Papa/tol/d/metha/t";myregex=????varpatt=newRegExp(myregex);varres=patt.split(str);结果应该是这样的:res[0]="ILikethis"res[1]="anda/basketballisrounda/aups.Papa/tol"res[2]="d"res[3]="met

javascript - 在 Firefox 和 Internet Explorer 中使用 XPath 选择 HTML 元素的不同结果

我正在尝试在文档中选择一个特定的HTML元素,对于我刚刚使用的firefox:xpathobj=document.evaluate(xpath,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);效果很好。然而,当我尝试IE等效时:xmlDoc=newActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.load(document);xmlDoc.setProperty("SelectionLanguage","XPath");xpathobj=xmlDoc.s

javascript - 在 javascript 中用于文件路径验证的正则表达式

我似乎找不到可以测试以下情况的JavaScript正则表达式:c:\tempD:\目录名\测试\\john-desktop\tempdir\你可以看到我要做什么。我只需要它来验证文件路径。但似乎我发现的所有表达式都不适用于JavaScript。 最佳答案 这是Windows路径验证,它适用于所有Windows路径规则。varcontPathWin=document.editConf.containerPathWin.value;if(contPathWin==""||!windowsPathValidation(contPathWi

JavaScript 正则表达式文字在函数调用之间持续存在

我有这段代码:functionfunc1(text){varpattern=/([\s\S]*?)(\)/g;varresult;while(result=pattern.exec(text)){if(somecondition){thrownewError('failed');}...}}这有效,除非执行了throw语句。在这种情况下,下次我调用该函数时,exec()调用会从它停止的地方开始,即使我为它提供了一个新值“文本”。我可以通过写来修复它varpattern=newRegExp('.....');相反,但我不明白为什么第一个版本失败了。正则表达式如何在函数调用之间持续存在?(

Javascript 正则表达式 : How to get `1` and not `11`

如果我这样做:varstring="7,11,2"varcheck=string.match("/1/");if(check!=null){doSomething();}else{doSomethingElse();}然后check不是null因为match找到了1在11.那么我应该如何避免这种情况并获得1什么时候真正出现? 最佳答案 发生这种情况是因为它匹配11中的1并将其称为匹配项。您必须确保1之后没有其他数字。尝试:varcheck=string.match("/(^|\D)1(\D|$)/");这将寻找一种被非数字字符或字符

javascript - 使用正则表达式仅用 JS 替换模式的最后一次出现

我有一个案例,我试图用另一种模式替换某种模式。我的问题是我只需要替换该模式的最后一次出现,而不是全部。我发现了这个问题:Howtoreplacelastoccurrenceofcharactersinastringusingjavascript但它不符合我的需求。作为背景,我会说我正在尝试替换CSS规则,但对于当前示例,让我们看一下这段文字:abcd:bka:bbb:aad:accx:aaa:bbb:a0d:cczc:aaa:假设我只想替换bbb的值。我目前的规则是text.replace(/(\s*bbb:)([^:]+)/,"$1aaa")但它只会替换第一个匹配项,而我希望它替换最

javascript - 用于替换单个反斜杠的正则表达式,不包括后跟某些字符的反斜杠

我有一个正则表达式,如果后面没有以下字符之一:\/或},它会从字符串中删除任何反斜杠。它应该把这个字符串:foo\bar\\batz\/hi进入这个:foobar\\batz\/hi但问题是它在处理每个反斜杠的过程中。所以它遵循的规则是删除第一个反斜杠,并忽略第二个反斜杠,因为它后面跟着另一个反斜杠。但是当它到达第3个时,它会将其删除,因为它后面没有另一个。我当前的代码如下所示:str.replace(/\\(?!\\|\/|\})/g,"")但是生成的字符串看起来像这样:foobar\batz\/hi如何让它跳过第三个反斜杠?或者是在做某种明确的否定搜索和替换类型的事情?例如。替换“

javascript - 正则表达式替换列表中的 0 但不是 10、20、30 等中的 0 - 使用 js 替换

我正在尝试创建一个正则表达式来用空值替换列表中的零,但不替换十、二十、三十等中的零。list=0,1,0,20,0,0,1,,1,3,10,30,0desiredlist=,1,,20,,,1,,1,3,10,30,在javascript替换函数中使用它感谢任何帮助/提示! 最佳答案 使用wordboundaries应该很简单,\b0\b:s=s.replace(/\b0\b/g,'');工作示例:http://jsbin.com/ipuru4 关于javascript-正则表达式替换列

javascript - 如何在 Javascript 中对正则表达式反向引用匹配执行操作?

在javascript中,我有一个包含数字的字符串,我想将值递增1。例子:varstring="Thisisastringwithnumbers12345678910";vardesiredResult="Thisisastringwithnumbers234567891011";使用正则表达式,是否可以对匹配的反向引用执行操作(在本例中为加法)?A找到了一个类似的question使用ruby:string.gsub(/(\d+)/){"#{$1.to_i+1}"} 最佳答案 使用string.replace以函数作为第二个参数:v

javascript - 正则表达式 - 如何排除 "%"和 "_"?

我允许在我的html文本框中使用数字、字母和特殊字符,但%和_除外。我有模式/[a-zA-Z0-9!@#$^&*()-+=]/。我认为这不是最好的方法,因为我必须列出除上述两个之外的所有特殊字符。有没有一种方法我不必列出所有特殊字符并且不包括提到的两个字符?顺便说一句,我正在使用javascript正则表达式。有关演示,请参阅http://jsfiddle.net/ce8Th/请帮忙。 最佳答案 不需要那个复杂的循环。只需在整个字符串上直接调用replace即可:$(this).val(function(i,v){returnv.r